260. Grafana Variables連動

WHY

延續上一篇 259. Loki快速上手體驗 的效果。
要讓log更好用的話,需要幾個變數,
原本是想做到當按下Label時,可以直接連動變數,
可惜還沒有找到相關資料,只好先用下拉選單做連動變數。

Solution

連動變數,首先針對的都是有第一個來源,
第二個才能根據第一個的選擇去作查詢。

260-fig.1.png

第一個是namespace,第二個deployment就是filter namespace的值。

來源是Prometheus,
因為如果選Loki的話,沒有辦法用Query Result去做,
只能用label name或 label value。

260-fig.2.png

圖片中間的Regex的意思是,
取得 kube_deployment_labels底下 deployment的值。
260-fig.3.png

第三層同樣的方法。

至於為什麼會到三層,因為實務上有碰到,當多個pod的時候,
你會需要看特定pod的log。

最後 dashboard的metrics,Panel選擇Logs。

{namespace="$namespace", pod=~".*$Deploy.*", pod=~"$Pod"} |= ``

260-fig.4.png

選擇Loki與Grafana的好處在於,
當你看到異常高峰的metrics時,
可以直接看到log,不用再跑去另一個地方查,
也可以說是 懶人的作法